import Base from "./base";

function ensureHash() {
  if (window.location.hash) return
  window.location.hash = '/'
}

class HashHistory extends Base {
  constructor(router) {
    super(router)

    // 如果是 hash 确保有 #
    ensureHash()
  }
  // 获取当前路径
  getCurrentLocation() {
    return window.location.hash.slice(1) // 去除 # 号
  }

  // 切换路由后的执行函数
  setupListener() {
    // init 时 已经注册了方法
    window.addEventListener('hashchange', () => {
      // 路径变 重新跳转
      this.transitionTo(this.getCurrentLocation())
    })
  }

  updateLocation(location) {
    window.location.hash = location
  }
}

export default HashHistory